The video game industry has seen considerable evolution, from the introduction of stand-alone arcade games, to home-based computer games, to the emergence of games made for specialized consoles. Democratization of the Internet then enabled the next major development, namely “cloud gaming”. In a cloud gaming system, a player can utilize an ordinary Internet-enabled appliance such as a smartphone or tablet to connect to a video game server over the Internet. The video game server starts a session for the player, and may do so for multiple players. The video game server renders images and generates audio for the player based on player actions (e.g., moves, selections) and other attributes of the game. Encoded video and audio is delivered to the player's device over the Internet, and is reproduced as visible images and audible sounds. In this way, players from anywhere in the world can play a video game without the use of specialized video game consoles, software or graphics processing hardware.
In cases where screens generated by rendering processing on a server side are provided to a player's device in this way, after the generated screens are encoded as moving images, the moving images are transmitted in a streaming format as with a general moving image viewing site. In other words, it is possible to simultaneously transmit a moving image generated in accordance with operation input from a player's device to a number of devices as with a moving image viewing site. Because, with such a configuration, one player is able to provide another user with game screens played on the device of the player, the other user is able to view (spectate) the state of play of the player on his or her own device, for example.
Recently, demand has been growing for so called “play-by-play” moving images where screens of a game that one player plays on an offline home use game console, for example, are recorded while being interpreted, and distributed by a moving image viewing site, or the like. Regarding systems for performing rendering of game screens on a server side, and for generating corresponding coded moving image data, such as those for cloud gaming, a spectating function as described above can be considered to satisfy demands of a user and a player because not only able to distribute moving image data simply, but it is able to distribute the playing of the game by the player around the same time.
However, in cases where screens obtained by rendering graphics, not limited to game screens, for one device on a server side are provided to the device and to another device in this way, there is the possibility that a user of another device will not be in a desired display state. For example, for a GUI in a screen, a user performing operation is able to change to a suitable layout, color, or the like, but on a device only receiving the screens, and performing display, the user was not able to change the layout, the color, or the like.